When moving a modem from one upstream/downstream port to another upstream/downstream, the modem physically stays in the same location but retunes to a new transmit upstream frequency or locks on to a new downstream frequency. This “move” is accomplished by messages exchanging between a broadband services router (BSR) and the modem using standard protocols, such as Data Over Cable Service Interface Specification (DOCSIS) protocols. A broadband services router (BSR) may be, for example, a CMTS, edge router, or an intelligent edge router.
For example, when a BSR wants to move a modem from a first upstream port to a second upstream port, the BSR has to select an appropriate protocol. For example, for a DOCSIS 1.0 modem a UCC (Upstream Channel Change) protocol is used. A DOCSIS 1.0 modem can only move on the upstream port, and cannot be moved on the downstream port. For a DOCSIS 1.x or 2.x modem, a UCC or a DCC (Dynamic Channel Change) protocol may be used. The DCC protocol can be used for either upstream or downstream ports. For a DOCSIS 3.x modem, DCC or DBC (Dynamic Bonding Change) protocols may be used. The DBC protocol is the first and preferred method for a DOCSIS 3.x modem and can be used for either upstream or downstream ports.
In order to move a modem the BSR has to select an appropriate protocol and to exchange messages with the modem. For example, when using the DCC protocol to move a modem, if the modem is on a first upstream port, a DCC request message is sent to the modem with a new frequency, a frequency for a second upstream port, in the request message as well as an initialization technique to use.
Initialization techniques may be 0, 1, 2, 3 or 4, for example, where technique 0 is for the modem to deregister and then reregister on the other port, technique 1 is to use an initial maintenance message to move, technique 2 is to use a station maintenance to move, technique 3 can use either initial or station maintenance to move, and technique 4 just sends the new frequency and the modem just retunes to it.
After the modem receives the request, the modem will send up a response message basically saying that it received the message and will now move and retune to a new frequency and then send a correct message based on the technique used. If the modem is successfully moved, the modem will send up a messages saying it arrived on the new port is now running fine on the new port.
Moving a cable modem from one upstream/downstream port to another upstream/downstream port requires the cable modem to be initialized by using an initialization technique within a known communications protocol, such as DOCSIS, UCC (Upstream Channel Change), DCC (Dynamic Channel Change), and DBC (Dynamic Bonding Change). It is a known issue in the cable industry that not all cable modems move successfully from one upstream/downstream port to another upstream/downstream port using just any initialization technique within any of the known protocols. Some reasons for the failure to move include cable modem firmware problems, non-conformance of a specification within a set protocol, RF plant impairments, or RF network characteristic such as long delays.
There may be some existing methods for initialization of cable modems that attempt to select the proper initialization technique based on some DOCSIS rules, but these methods do not necessarily guarantee that the initialization will work properly because of some of the reasons mentioned above. Additionally, some cable modems may move in one RF plant with a particular initialization technique but need to use a different initialization technique for some other RF plant.
As a result, there is a need for a method for dynamic selection of initialization techniques for a communications device which tests various initialization techniques on a given cable modem (in its current RF plant) in real time. Additionally, there is a need for a method for adaptive selection of initialization techniques for a communications device which learns from the previous tests and determines which technique to use based on conditions, such as modem type and firmware.